Theoretical class Requirements

Classes whose instances will be stored in STL containers must have:

If the instances will be sorted or compared then the class must have:

Practical class requirements

In practice, it may be necessary to please the compiler gods by defining some functions that are never called. The practical list of requirements is: